package com.sx.service;

import com.sx.pojo.Goods;
import com.sx.pojo.GoodsOpRecords;
import com.sx.pojo.GoodsStock;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public interface GoodService {
    //获取所有商品
    ArrayList<Goods> getAllGoods();

    //判断商品是否存在
    boolean checkIdExists(String id);

    //添加商品
    // boolean saveGood(Goods goods);
    boolean saveGood(Goods goods, String PersonId, String PersonName, int flag, int type, String id);

    //根据id获取商品
    Goods getGoodById(String id);

    // 添加删除商品的方法声明，根据商品ID删除商品
    //boolean deleteGoodById(String id);
    // 添加修改商品的方法声明，根据商品对象修改商品信息
    //boolean updateGood(Goods goods) throws SQLException;

    // 根据商品名称查询商品
    ArrayList<GoodsStock> findByName(String name);

    public ArrayList<GoodsOpRecords> getAllGoodRecords();

    // 删除商品
    boolean deleteGoodById(String PersonId, String PersonName, int flag, String id, int type);

    boolean updateGood(Goods goods);
    boolean updateGood(Goods goods, String PersonId, String personName, int flag, int type, String id);
    // 根据商品类别、价格、库存量、供应商ID和关键字进行搜索
    List<Goods> searchGoods(String categoryId, String numberOrder, String shelfLifeOrder, String priceOrder, String supplierId);
    // 根据商品类别、价格、库存量、供应商ID和关键字进行搜索
    //List<Goods> searchGoods(Integer categoryId, String numberOrder, String shelfLifeOrder, String priceOrder, Integer supplierId);
    // 根据商品类别、价格、库存量、供应商ID和关键字进行搜索
    //List<Goods> searchGoods(Integer categoryId, Integer number, String shelfLifeOrder, String priceOrder, Integer supplierId);
    // 根据商品类别、价格、库存量、供应商ID和关键字进行搜索
   // List<Goods> searchGoods(Integer categoryId, Float minPrice, Float maxPrice, Integer number, Integer remainingShelfLife, Integer supplierId, String keyword);
}
